LABORATORIO DI INFORMATICA:

INGEGNERIA DEL SOFTWARE

Prof. Anna Perini, Alessandra Potrich

Anno Accademico 2001/2002

Il corso mira a fornire competenze pratiche sull'applicazione di metodi di Ingegneria del Software visti nel corso di Ingegneria del software.

Il corso è centrato sulla sperimentazione in laboratorio di strumenti CASE industriali (Rational Suite). In parallelo verrà richiesto di sviluppare, in parte al di fuori delle ore di lezione, un progetto completo su cui gli studenti saranno valutati in sede d'esame.

Indice degli argomenti trattati

  1. Elementi di Ingegneria del software
  2. Breve introduzione sul processo di sviluppo del software, dei tool CASE e di linguaggi di specifica.

  3. Tecniche di pianificazione, controllo e gestione di progetto
  4. Si introducono concetti base per la pianificazione e la gestione di un piano di attività (ad es. dipendenze temporali tra attività, diagrammi di Pert e di Gannt).

    Si sperimenta l’utilizzo di strumenti software di Project Management.

  5. Business modeling e specifica dei requisiti
  6. Si approfondiscono metodi e strumenti per l’analisi di un dominio applicativo, per l’analisi e la specifica di requisiti business e di requisiti di sistema. Si userà il Unified Modeling Language (UML), come linguaggio di specifica e il tool di gestione dei requisiti Requisite Pro della Rational.

  7. Documenti di processo e tools di documentazione automatica
  8. Si analizza la struttura e il ruolo di alcuni documenti base nel processo di sviluppo del software, con riferimento anche ad alcuni standard. Si sperimentano dei tool di generazione automatica della documentazione , da specifica in UML e da codice. E’ previsto l’uso di SODA della Suite Rational.

  9. Analisi e disegno di un sistema. Design Patterns
  10. Si approfondisce l’uso di UML per la progettazione OO. Si introducono Design patterns e se ne sperimenterà l’applicazione pratica nella specifica di sistema. E’ previsto l’uso di tools per UML (Rose dalla Rational).

  11. Implementazione e verifica del codice
  12. Si approfondisce l’uso di tool per la generazione automatica del codice da specifica UML. Vengono analizzate le problematiche della convalida del software prodotto rispetto alle specifiche utente (ovvero del problema applicativo) e quella della verifica della correttezza del software. Vengono introdotte tecniche di analisi statica e dinamica del software. E’ prevista una parte sperimentale in laboratorio con tools di testing industriali.

  13. Distribuzione e manutenzione

Vengono introdotti alcuni concetti base sul reverse engineering, sul problema della manutenzione del software, sulla distribuzione (deployment) e su tecniche di configuration management.

 

 

Tools utilizzati

Rational Suite: Requisite Pro, Rose, Soda, Uso di Java per il progetto.

Modalità d’esame

L’accertamento prevede la discussione di una elaborazione personale del progetto assegnato (documento cartaceo preparato dallo studente e codice sviluppato) nel corso della quale si dimostri padronanza sugli argomenti trattati nel corso.

Propedeuticità

Informatica: Programmazione 1, Programmazione 2, Ingegneria del software.

Testi Consigliati

Testi per la consultazione